$(function(){
  var _template = null;
  var _projs_data = null;
  var _proj_data = null;

  // 
  $('#frm_proj_entity').change(function(){
    var _s = $(this).children('option:selected');
    if(!_s.val()) return;

    // curr
    _proj_data.selected = _s.val();

    $('#itemCount').text(_.size(_proj_data.entities[_proj_data.selected].props));

    // let _v = _.template(_template, _proj_data);
    // runCode(_v);

    {
      var _tpl = doT.template(_template);
      var _v = _tpl(_proj_data);
      runCode(_v);
    }

    {
      var _tpl_2 = doT.template($('#_tbody').text());
      var _tbody = _tpl_2(_proj_data);

      $('#table_1 tbody').remove();
      $('#table_1').append($(_tbody));
      $('table.checkTab td input:checkbox').on('click', bindForm);
    }
  });

  // 
  $('#frm_proj').change(function(){
    $('#frm_proj_entity').html('');
    $('#frm_proj_entity').append($('<option value=""></option>'));

    var _s = $(this).children('option:selected');
    if(!_s.val()) return;

    $.ajax({
      url: './resources/proj_'+ _s.val() +'.json?ts='+ new Date().getTime(),
      type: 'GET',
      dataType: 'text',
      success: function(data){
        data = JSON.parse(data);
        // curr
        _proj_data = _projs_data[_s.val()];
        _proj_data.entities = data;

        for(var _i in data){
          var _v = '<option value="'+ _i +'">'+ _i +' '+ data[_i].name +'</option>';
          $('#frm_proj_entity').append($(_v));
        }
      },
      error: function(){
        console.log(arguments);
      },
    });
  });

  // 
  console.log(new Date());

  // 
  $.ajax({
    url: './resources/proj.json?ts='+ new Date().getTime(),
    type: 'GET',
    dataType: 'text',
    success: function(data){
      _projs_data = JSON.parse(data);

      for(var _i in _projs_data){
        var _v = '<option value="'+ _i +'">'+ _projs_data[_i].name +' '+ _projs_data[_i].pkg_name +'</option>';
        $('#frm_proj').append($(_v));
      }
    },
    error: function(){
      console.log(arguments);
    },
  });

  // 
  $.ajax({
    url: './template.html?ts='+ new Date().getTime(),
    type: 'GET',
    success: function(data){
      _template = data;
    },
    error: function(){
      console.log(arguments);
    },
  });

});
